package com.jt.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class RestFulController {

    /**
     * 常规get请求：
     *      URL地址：http://localhost:8090/restFul?id=123&name=Tom
     * get请求的弊端：如果参数有多个，则key-value的结构需要多份
     * RestFul结构：
     *      URL结构：http://localhost:8090/restFul/123/Tom
     *          1.参数之间使用“/”分割
     *          2.参数的位置一旦确定，不可更改
     *          3.参数使用”{}“的形式进行包裹，并设定形参
     *          4.在接受参数时，使用特定的注解取值@PathVariable
     *      @PathVariable：参数说明
     *          1.name/value 动态接受形参的数据，如果参数相同则可省略不写
     *          2.必填项 required，默认为true
     */
    @RequestMapping("/restFul/{id}/{name}")
    public String restFul(@PathVariable Integer id,@PathVariable String name){
        System.out.println("获取参数：" + id + "|" + name);
        return "success";
    }

    /**
     * 需求：按照常规说明，执行增删改查的操作，需要多个业务方法
     * 例子：
     *      1.新增用户 /insertUser
     *      2.修改用户 /updateUser
     *      3.删除用户 /deleteUser
     *      4.查询用户 /selectUser
     * 说明：
     * 常见请求类型：GET、POST、PUT、DELETE
     * 优化：
     *      1.新增用户 /user    请求类型：POST
     *      2.修改用户 /user    请求类型：PUT
     *      3.删除用户 /user    请求类型：DELETE
     *      4.查询用户 /user    请求类型：GET
     */
}

